/*
ID:luongho3
LANG:JAVA
TASK:zerosum
 */
package usaco.training.chap2.sec3;

import java.io.File;
import java.io.PrintStream;
import java.util.Arrays;
import java.util.Scanner;

public class zerosum {
	
	static int N, thres, ns;
	static char[] cs;
	static String[] ss;

	public static void main(String[] args) throws Exception {
		Scanner scanner = new Scanner(new File("zerosum.in"));
		PrintStream ps = new PrintStream(new File("zerosum.out"));
		System.setOut(ps);
		N = scanner.nextInt();
		cs = new char[2*N-1];
		for (int i=0;i<2*N-1;i=i+2) {
			cs[i] = (char) ((i/2) + 1 + '0');
		}
		
		thres = (int) Math.pow(3, N-1);
		ss = new String[thres];
		ns = 0;
		for (int i=0;i<thres;++i) {
			int tmp = i;
			for (int j=1;j<2*N-1;j=j+2) {
				int re = tmp % 3;
				if (re == 0) {
					cs[j] = '+';
				}
				else if (re == 1) {
					cs[j] = '-';
				}
				else {
					cs[j] = ' ';
				}
				tmp /= 3;
			}
			
			int val = 0;
			tmp = 0;
			int sign = 1;
			for (int j=0;j<2*N-1;++j) {
				if (j%2==0) {
					tmp *= 10;
					tmp += (cs[j] - '0');
				}
				else {
					if (cs[j] == ' ') {
						continue;
					}
					else {
						val += sign*tmp;
						tmp = 0;
						if (cs[j] == '+') {
							sign = 1;
						}
						else {
							sign = -1;
						}
					}
				}
			}
			val += sign*tmp;
			
			if (val == 0) {
				StringBuilder b = new StringBuilder();
				for (int j=0;j<2*N-1;j++) {
					b.append(cs[j]);
				}
				ss[ns] = b.toString();
				ns++;
			}			
		}
		
		Arrays.sort(ss,0,ns);
		for (int i=0;i<ns;++i) {
			System.out.println(ss[i]);
		}
		
	}

}
